package com.asen.commons.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 实体表注解
 *
 * @author Gary
 * @version 1.0
 * @date 2018-11-10
 */
@Target(TYPE)
@Retention(RUNTIME)
public @interface EntityModel {

    /**
     * （可选） 别名
     * <p> 默认与实体名一致
     */
    String value() default "";

    /**
     * (可选) 实体名
     * <p> 默认与类名一致
     */
    String name() default "";

    /**
     * （可选）表名。
     * <p>默认为：模块名 + "_" + 实体名的驼峰转下划线</p>
     *
     * @return
     */
    String table() default "";

    /**
     * (可选) 描述信息.
     */
    String desc() default "";

}
